1. Field of the Invention
The present invention relates to the field of data randomization, and more particularly, to a random data generator suitable for a high density optical disc system, and a scrambler using the random data generator, and method therefore.
2. Description of the Related Art
Random data generators, which are devices for converting the data of a particular input value into a random number, are being applied to scramblers of optical disc systems using optical discs such as a compact disc read only memory (CD-ROM) or a digital versatile disc (DVD).
Data scrambling is generally used to secure data from unauthorized users, and is a type of randomization which is being widely used for the purpose of secure communications.
The first essential reason for an optical disc system to scramble received data is to smoothly perform tracking control using differential phase detection (DPD). If the same data is received and thus the same modulated codes are recorded on adjacent tracks of a disc, a DPD signal is not detected upon reproduction, so that a servo unit cannot perform tracking control. For example, in the case of a CD-Audio which is not scrambled, the control of DPD is difficult in sections between tunes (that is, sections where all data is “00h”).
The second reason is to reduce the burden of DC suppression control, which is performed by a modulator. In the case where identical data is continuously received, digital sum value (DSV) control itself may be impossible with respect to particular values. Hence, data randomization is needed to prevent such a worst case. Here, DSV is a parameter predicting the DC direction of a codeword stream, and a modulated codeword preferably has the code characteristics of not having a DC component.
The third reason is to protect particular data. In the case of a CD-ROM, only the remaining data except for a sync is scrambled to protect a sync pattern (00h, FFh, FFh, . . . , FFh, 00h) within data.
FIG. 1 is a circuit diagram of a scrambler of a general DVD system and which uses a random data generator, wherein an exclusive OR gate 10 and registers r0 through r14 for providing random data are referred to as a random data generator, and the random data generator and exclusive OR gates 11 through 18 are referred to as the scrambler.
In FIG. 1, though not shown, 15 bit registers r0 through r14 are shifted left in synchronization with the input of a clock signal to be scrambled. The input of the least significant register r0 is a value obtained by performing an exclusive OR operation with respect to the outputs of the most significant register r14 and the eleventh least significant register r10, and is provided from the exclusive OR (XOR) gate 10.
The random data generation cycle in the random data generator shown in FIG. 1 is 32K (kilobytes), and is consistent with the size of one Error Correction Code (ECC) block of a DVD, 32K. That is, in the ECC block, a random value having no periodicity is generated, a register is shifted left eight times, and then the XOR gates 11 through 18 perform XOR operations with respect to the outputs of eight lower registers r0 through r7, and input data D0 through D7, whereby scrambled results are obtained. Here, though not shown, a data clock speed at which a data clock signal is input to the XOR gates 11 through 18 is ⅛ of a scramble clock speed at which a scramble clock signal is input to the registers r0 through r14.
FIG. 2 is a table for showing the random data results of the registers r0 through r14 and scrambling results Do0 through Do7 when the initial values of the registers r0 through r14 shown in FIG. 1 are set to be a hexadecimal number of “0001h” and input data D0 through D7 are “00h”. It can be seen from FIG. 2 that the cycle of random data is 32K (32768).
Here, the values of the registers r0 through r14 are shifted left eight times, and then scrambling is performed. Accordingly, the registers r0 through r14 are initialized to initial values with reference to the four upper bits ID (7:4) within the last byte among a 4-byte identification code (ID) allocated to the head of a sector, which is a basic access unit. At this time, attention must be paid to select the initial values. That is, even if the same data is received, random data is generated from an initialized value within one sector, and values within the sector are equally repeated for a duration of 1 ECC block (16 sectors).
As shown in FIG. 3, the initial values of the registers r0 through r14 includes the first initial value “000h” “0001h” and values 0002h, 0004h, 0008h, 0010h, 0020h, 0040h and 0080h obtained by shifting the value “0001h” left seven times, the value “5500h” of registers r0 through r14 after a capacity of at least 16K (=2 KH8) is required to return the 7 shifted values, and values 2A00h, 5400h, 2800h, 5000h, 2001h, 4002h and 0005h obtained by shifting the value “5500h” left up to seven times.
However, a conventional random data generator and a scrambler using the same cannot cope with when generation and scrambling of random data having a cycle greater than 32K are required.